

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HL1_M2M(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HL1_M2M.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HL1_M2M, self).__init__(name='HL1_M2M', num_nodes=7, edges=[])
        
        # Add the edges
        self.add_edges([(2, 0), (0, 5), (1, 3), (3, 4), (6, 4), (5, 6)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """L1_M2M"""
        self["GUID__"] = UUID('6a725c3a-f3ad-4451-a736-0ca24a3f728c')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """apply_contains"""
        self.vs[0]["GUID__"] = UUID('ac319604-9250-41bd-bac8-c972a03bc3c6')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('5ecc68d8-cbc6-4415-ac1e-2f12408fe753')
        self.vs[2]["mm__"] = """ApplyModel"""
        self.vs[2]["GUID__"] = UUID('e07eb840-b379-4409-aa7c-2f29029d6b0b')
        self.vs[3]["mm__"] = """match_contains"""
        self.vs[3]["GUID__"] = UUID('2cd12c4e-82ab-47ca-9ac1-30fa30dc8bcc')
        self.vs[4]["mm__"] = """Male_S"""
        self.vs[4]["name"] = """m"""
        self.vs[4]["GUID__"] = UUID('a67d7c7f-896d-407c-b754-5a885b734a8d')
        self.vs[5]["mm__"] = """Male_T"""
        self.vs[5]["name"] = """m"""
        self.vs[5]["GUID__"] = UUID('677ffa20-c9e1-4895-8cb1-852ee392616f')
        self.vs[6]["mm__"] = """backward_link"""
        self.vs[6]["GUID__"] = UUID('0883c097-a851-417d-8d45-0cc094d290bf')

